package com.wingsoft.work.vo;

    import java.math.BigDecimal;
    import java.time.LocalDateTime;
    import java.util.Date;

    import com.fasterxml.jackson.annotation.JsonFormat;
    import lombok.Data;
import com.wingsoft.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import com.wingsoft.common.core.domain.BasicEntity;

/**
 * 用户任务对象 t_user_task
 *
 * @author hemj
 * @date 2025-10-20
 */
@Data
@ApiOperation("用户任务返回实体")
public class UserTaskVo extends BasicEntity
{

    /** 主键 */
    @ApiModelProperty("主键")
    private Long id;

    /** 用户id */
    @ApiModelProperty("用户id")
    private Long userId;
    @Excel(name = "用户")
    private String createBy;

    /** 任务类型，1为文生视频，2为图+文生视频 */
    @Excel(name = "任务类型",readConverterExp = "1=文生视频,2=图+文生视频")
    @ApiModelProperty("任务类型，1为文生视频，2为图+文生视频")
    private Integer taskType;

    /** 图片地址 */
    @Excel(name = "图片地址")
    @ApiModelProperty("图片地址")
    private String picUrl;

    /** 视频描述 */
    @Excel(name = "视频描述")
    @ApiModelProperty("视频描述")
    private String des;

    /** 画面模式，1为横版，2为竖版，3为高清横版，4为高清竖版 */
    @Excel(name = "画面模式",readConverterExp = "1=横版,2=竖版,3=高清横版,4=高清竖版")
    @ApiModelProperty("画面模式，1为横版，2为竖版，3为高清横版，4为高清竖版")
    private Integer videoType;

    /** 使用积分 */
    @Excel(name = "使用积分")
    @ApiModelProperty("使用积分")
    private BigDecimal costPoint;

    /** 状态，1为生成中，2为生成成功，3为最终生成失败 */
    @Excel(name = "状态",readConverterExp = "1=生成中,2=生成成功,3=生成失败")
    @ApiModelProperty("状态，1为生成中，2为生成成功，3为最终生成失败")
    private Integer status;

    /** 视频地址 */
    @Excel(name = "视频地址")
    @ApiModelProperty("视频地址")
    private String videoUrl;

    /** 失败描述 */
    @Excel(name = "失败描述")
    @ApiModelProperty("失败描述")
    private String failMsg;

    /** 开始生成时间 */
    private Date startTime;

    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime finishTime;

    /**
     * 是否删除，1是0否
     */
    private Integer delFlag;

    private Integer seconds;
    private String taskId;


    @ApiModelProperty("当前接口类型，1为bltcy，2为codeai")
    private String nowInterfaceType;

    @ApiModelProperty("历史接口类型，多个逗号隔开")
    private String hisInterfaceType;


    /** 接口内容 */
    @ApiModelProperty("接口内容")
    private String apijson;

    /** oss服务视频地址 */
    private String ossVideoUrl;

    /** oss转存状态，1为新建，2为成功，3为转存失败 */
    private Integer ossStatus;

    /** 重试次数 */
    private Integer ossTime;
}
